Skip to main content

Control de una unidad de levas con un eje de tiempo virtual

Ver el PLCopenMulti.project proyecto de ejemplo en el directorio de instalación de CODESYS por debajo ..\CODESYS SoftMotion\Examples.

Este ejemplo demuestra cómo implementar una leva periódica en un accionamiento lineal. El ejemplo también demuestra cómo utilizar la función de empujador.

  1. Inserte una cámara llamada Example en el árbol de dispositivos a continuación Solicitud. Abra la cámara en el editor.

  2. Defina un empujador en el Alzaválvulas pestaña.

    • X: 8.0

    • Pase positivo: Invert

    • Pase negativo: Invert

  3. Inserte una unidad virtual llamada Drive en el árbol de dispositivos a continuación Piscina SoftMotion General Axis. Para este eje, seleccione el tipo de eje Modulo con un valor de módulo de 360.

  4. Inserte otra unidad virtual llamada Virtual. Para este eje, seleccione el Modulo tipo de eje con un valor de módulo de 10.

  5. Crear un MOTION_PRG programa en CFC.

    PROGRAM MOTION_PRG
    VAR
            power1, power2: MC_Power;
            TableSelect: MC_CamTableSelect;
            CamIn: MC_CamIn;
            Tappet: SMC_GetTappetValue;
            MoveVirtual: MC_MoveVelocity;
    END_VAR
  6. Insertar un elemento de caja y asignar la variable power1 lo. El elemento de caja se utiliza para encender el Drive.

    Configure las entradas de la siguiente manera:

    • Eje: Drive

    • Habilitar: TRUE

    • bRegulatorOn: TRUE

    • bDriveStart TRUE

  7. Insertar un elemento de caja y asignar la variable power2 lo. El elemento de caja se utiliza para encender el Virtual conducir.

    Configure las entradas de la siguiente manera:

    • Eje: Virtual

    • Habilitar: TRUE

    • bRegulatorOn: TRUE

    • bDriveStart TRUE

  8. Insertar un elemento de caja y asignar la variable MoveVirtual lo. El elemento de caja se utiliza para mover el maestro virtual.

    Configure las entradas de la siguiente manera:

    • Eje: Virtual

    • Ejecutar: power2.Status

    • Velocidad: 2

    • Aceleración 10

    • Desaceleración 10

    • Dirección positive

  9. Insertar un elemento de caja y asignar la variable TableSelect lo. El elemento de caja se utiliza para seleccionar una leva.

    Configure las entradas de la siguiente manera:

    • Maestría: Virtual

    • Esclavo: Drive

    • CamTable: Example

    • Ejecutar TRUE

    • Periódico TRUE

    • Maestro Absoluto TRUE

    • Esclavo Absoluto TRUE

  10. Insertar un elemento de caja y asignar la variable CamIn lo. El elemento de caja implementa la placa de levas seleccionada.

    Configure las entradas de la siguiente manera:

    • Maestría: Virtual

    • Esclavo: Drive

    • Ejecutar power1.Status

    • MasterOffset: 0

    • SlaveOffset: 0

    • MasterScaling: 1

    • Esclavo Escalado: 1

    • StartMode: absolute

    • CamTableID: TableSelect.CamTableID

    • VelocityDiff: 1

    • Aceleración: 1

    • Desaceleración: 1

    • Tappet Histéresis: 1

  11. Insertar un elemento de caja y asignar la variable Tappet lo. El elemento de caja comprueba el ajuste del interruptor de leva.

    Configure las entradas de la siguiente manera:

    • Tappets: CamIn.Tappets

    • iID: 1

    • bInitValue FALSE

    • bSetInitValueAtReset: FALSE

    El empujador se define como un empujador inversor. Por esta razón, su valor se cambia cada 10 segundos.

  12. El proyecto de muestra proporciona una visualización para comprobar los bloques de función individuales y la posición de los ejes.

  13. Agregue la llamada del MOTION_PRG programa a la tarea Tarea principal.

  14. Descargue el proyecto al controlador e inícielo.